package com.hsylient.javase.chapter06.demo04;

import org.junit.Test;

/**
 * 两种处理异常的方式
 *
 * 第一种：使用throws关键字继续上抛，抛给方法的调用者
 * 第二种：使用try...catch...自己处理掉
 */
public class DealException {

    /**
     * 处理方式二
     */
    @Test
    public void methodOne() throws NoSuchFieldException {
        doSome();
    }

    /**
     * 处理方法一
     */
    @Test
    public void invokeMethod() {
        try {
            doSome();
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }
    }

    /**
     * doSome()方法在方法声明的位置上抛出了NoSuchFieldException编译时异常
     * 在调用的时候需要处理
     */
    public static void doSome() throws NoSuchFieldException {
        System.out.println("doSome方法执行了");
    }
}
